package fy.mdm.dao;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.soa.eis.adapter.framework.message.IMsgObject;
import com.soa.eis.adapter.framework.message.impl.GroupRecord;
import com.soa.eis.adapter.framework.message.impl.MsgObject;
import com.soa.eis.adapter.framework.requester.IServiceRequester;
import com.soa.eis.adapter.framework.requester.impl.BaseServiceRequester;

import fy.mdm.bean.FiexdLineBean;




public class FiexdLineReviewDao {
	private FiexdLineBean FiexdLineBean;
	private static Log log = LogFactory.getLog(FiexdLineReviewDao.class);
	private String assetstates;//资产状态
//	private String aaa="0";
//	private List<String> shu = new ArrayList<String>();
	public boolean StateReturn() throws Exception {

//		System.out.println("+++++++++++");
		try {
//			String shu2="M00008";
//			String shu3="M00001";
//			shu.add(shu2);
//			shu.add(shu3);
//			for (int i = 0; i < this.shu.size(); i++) {
			for (int i = 0; i < this.FiexdLineBean.getNumberList().size(); i++) {

				IServiceRequester Requester = BaseServiceRequester.getInstance();
				List<GroupRecord> grs1 = new ArrayList<GroupRecord>();//多层用
				// 定义请求报文对象
				IMsgObject reqMo = new MsgObject(IMsgObject.MOType.initSR);
				String SourceSysID = "06004"; // 请求方(发布方)
				String ServiceID = "06001000000032";// 响应方(发布方)
				// 获取系统时间
				Date date = new Date();
				SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
				String format = simpleDateFormat.format(date);
				// 对请求报文对象进行设置
				reqMo.setSourceSysID(SourceSysID); // 设置报文 请求方系统号
				reqMo.setSerialNO(format.substring(0, 8) + SourceSysID
						+ String.format("%06d", ++MaterialRequestNoTimerTask.requestNo));// 设置报文流水号,第三段表示今天发送的第几的一次报文
				reqMo.setServiceID(ServiceID); // 设置报文 提供方服务号
				reqMo.setServiceDateTime(format); // 设置报文 日期时间
				
				reqMo.setReqValue("BOID","MDM_EQUIPMENT_F" );

				GroupRecord gr1 = new GroupRecord();
				gr1.setName("ROW");
				
//				System.out.println(this.FiexdLineBean.getNumberList().get(i)+"123");
				
				gr1.setFieldValue("EQUIPMENT_CODE", this.FiexdLineBean.getNumberList().get(i));//设备条码
//				gr1.setFieldValue("EQUIPMENT_CODE", this.shu.get(i));//设备条码
//				gr1.setFieldValue("", fiexdAssetBean.getSupplier());// 子公司
				
//				System.out.println(FiexdLineBean.getNewLineCode()+"321");				
//				gr1.setFieldValue("PRO_LINE_CODE", "Z1HP33");//新生产线代码
				
				if(FiexdLineBean.getAssetstates()==null){
					gr1.setFieldValue("PRO_LINE_CODE", FiexdLineBean.getNewLineCode());//新生产线代码
					gr1.setFieldValue("EQUIPMENT_STATUS", "");//状态
					
				}else{
//					System.out.println(FiexdLineBean.getAssetstates()+"+=-");
					
					if ("0".equals(FiexdLineBean.getAssetstates())) {
						assetstates = "在用";
					} else{
						assetstates = "报废";
					} 
					
					gr1.setFieldValue("EQUIPMENT_STATUS", assetstates);//状态
				}
//				if(aaa==null){
//					gr1.setFieldValue("PRO_LINE_CODE", "Z1HP33");//新生产线代码
//					gr1.setFieldValue("EQUIPMENT_STATUS", "");//状态
//					
//				}else{
//					if (aaa =="0") {
//						assetstates = "在用";
//					} else if (aaa =="1") {
//						assetstates = "报废";
//					} 
//					gr1.setFieldValue("EQUIPMENT_STATUS", assetstates);//状态
//				}
//				gr1.setFieldValue("EQUIPMENT_STATUS", "报废");//状态
//				gr1.setFieldValue("", fiexdAssetBean.getBusiness());//业务类型
//				gr1.setFieldValue("ASSET_NUMBERS", FiexdLineBean.getAssetnumbers());//资产编号
//				gr1.setFieldValue("ASSET_NUMBERS", "123456");//固定资产编号
//				gr1.setFieldValue("", fiexdAssetBean.getSupplier());//供应商
//				gr1.setFieldValue("", fiexdAssetBean.getNumber());
				grs1.add(gr1);
				reqMo.setReqGroupRecord(grs1);


				log.info("reqMo:"+reqMo);
				
				IMsgObject respMo = null;
				respMo = Requester.execute(reqMo);//发布报文
//				log.info("respMo:"+respMo);
//				 System.out.println(respMo+"22");
			}
		} catch (Exception e) {
			e.printStackTrace();
			// TODO: handle exception
		}
		return true;
		
	}
	//------------------
	public FiexdLineBean getFiexdLineBean() {
		return FiexdLineBean;
	}
	public void setFiexdLineBean(FiexdLineBean fiexdLineBean) {
		FiexdLineBean = fiexdLineBean;
	}
	
}
